2022-02-01

Background

  • EV’s, wind turbines, solar panels are mineral-intensive
  • several of these minerals are considered “critical”
  • U.S. rapidly expanding mining for “green” technologies
  • mining: H20-intensive, toxic wastes that degrade water, air, soil

what social + environmental dilemmas emerge from the expanding energy transition mining frontier in the U.S.?

Guiding questions

  1. where are energy transition mineral mines + deposits located?
  2. who lives in vicinity to them?

Data

  • USGS: distribution of mines + deposits for 22 “critical minerals” (2017)
  • Census: geographic boundary TIGER/Line shapefiles (counties, blocks, reservations + off-reservation trust lands)
  • Census: demographics (population size, income, race)

map0 <- ggplot() + 
  geom_polygon(data=state, #add base map
               color = "black", 
               fill="white",
               aes(x=long, y=lat, group=group)) + 
  geom_point(data=minesRaw, #add mines
             aes(x=LONGITUDE, y=LATITUDE, color=CRITICAL_MINERAL)) +
  theme_minimal()+ #remove grey background
  theme(legend.position="none", #remove legend, axes labels/ticks
        axis.title.x=element_blank(), 
        axis.text.x=element_blank(), 
        axis.ticks.x=element_blank(),
        axis.title.y=element_blank(), 
        axis.text.y=element_blank(), 
        axis.ticks.y=element_blank()) + 
  ggtitle('"Critical Mineral" Mines & Deposits in U.S.') + #title
  coord_fixed(1.3) #adjust aspect ratio

ggplotly(map0)  #make interactive

data: USGS 2017

map1 <- ggplot() + 
  geom_polygon(data=state, #add base map
               color = "black",
               fill="white",
               aes(x=long, y=lat, group=group)) +
  geom_point(data=minesRaw, #add mines
             aes(x=LONGITUDE, y=LATITUDE, color=CRITICAL_MINERAL,
                 text=paste("",CRITICAL_MINERAL))) +
  theme_minimal()+ #remove grey background
  theme(legend.position="none", #remove legend, axes labels/ticks
        axis.title.x=element_blank(),
        axis.text.x=element_blank(),
        axis.ticks.x=element_blank(),
        axis.title.y=element_blank(),
        axis.text.y=element_blank(),
        axis.ticks.y=element_blank()) +
  ggtitle('"Critical Mineral" Mines & Deposits in U.S.') + #title
  coord_fixed(1.3) #adjust aspect ratio

ggplotly(map1, tooltip="text") %>% #make interactive
  style(hoverinfo="none", traces=1)

data: USGS 2017

unique(minesRaw$CRITICAL_MINERAL) %>% 
  as_tibble()

mines <- minesRaw %>% #filter to key energy transition minerals
  filter (CRITICAL_MINERAL %in% c("Aluminum",
                                  "Cadmium",
                                  "Cobalt",
                                  "Copper",
                                  "Dysprosium",
                                  "Gallium",
                                  "Indium",
                                  "Lithium",
                                  "Manganese",
                                  "Neodymium",
                                  "Nickel",
                                  "Silver",
                                  "Selenium",
                                  "Tellerium",
                                  "Rare-Earth Elements"))

map2 <- ggplot() + 
  geom_polygon(data=state, #add base map
               color = "black", 
               fill="white",
               aes(x=long, y=lat, group=group)) + 
  geom_point(data=mines, #add mines
             aes(x=LONGITUDE, y=LATITUDE, color=CRITICAL_MINERAL,
                 text=paste("",CRITICAL_MINERAL))) +
  theme_minimal()+ #remove grey background
  theme(legend.position="none", #remove legend, axes labels/ticks
        axis.title.x=element_blank(), 
        axis.text.x=element_blank(), 
        axis.ticks.x=element_blank(),
        axis.title.y=element_blank(), 
        axis.text.y=element_blank(), 
        axis.ticks.y=element_blank()) + 
  ggtitle('"Critical Mineral" Mines & Deposits in U.S.:<br>Cobalt, Gallium, Lithium, Manganese, Indium') +
  coord_fixed(1.3) #adjust aspect ratio

ggplotly(map2, tooltip="text") %>% #make interactive
  style(hoverinfo="none", traces=1)

data: USGS 2017

mines %>% #count mines by mineral
  as_tibble() %>%
  select(CRITICAL_MINERAL) %>%
  group_by(CRITICAL_MINERAL) %>%
  summarize(count=n()) %>%
  arrange(desc(count))

Next steps

Q1: where are energy transition mineral mines + deposits located?

  • additional mine/deposit data for aluminum, cadmium, copper, dysprosium, nickel, silver
  • additional data wrangling

Next steps

Q2: who lives in vicinity to them?

  • join demographic data to geographic boundary data using tidycensus package
  • draw buffers around mines using st_buffer()
  • select all census blocks or county polygons within buffer using st_intersects()
  • calculate demographics (sum populations, mean/median income, racial composition) in blocks/counties within or intersecting buffer
  • draw buffers around reservations using st_buffer()
  • select mines within buffer; create new 0/1 variable for mines that are vs. are not within particular distance of reservation

Possible final products

  • map of mine points sized according to population in proximity to mine
  • map of mines that fall within particular distance of reservations
  • choropleth map of income in counties surrounding mines
  • choropleth maps of race in counties surrounding mines
  • map of mine points showing difference in mean income between state as a whole and counties surrounding mine

If there’s time…

  • map of land cover surrounding mines
  • tool to scrape twitter data (tweets mentioning particular minerals, energy transition, etc.)